// 以下 undefined 未解决
// 是由于默认情况下 electron ver10 关闭了 remote 属性，通过在主进程 配置 enableRemoteModule: true, 才可以
const remoteCase = require('electron').remote
const { shell } = require('electron')

window.onload = function () {
  const openNew = this.document.querySelector('#open-new')
  

  let newWin = null
  // 子进程 通过 remote 打开新窗口
  openNew.onclick = function () {
    newWin = new remoteCase.BrowserWindow({
      width: 500,
      height: 300,
    })

    newWin.loadFile('opendemo.html')
    newWin.on('closed', () => {
      newWin = null
    })
  }

  // a 链接打开网页（默认是该页面内打开，这里演示如何设置为浏览器打开）
  const aLink = document.querySelector('#a-link')
  aLink.onclick = function (e) {
    e.preventDefault()
    const href = this.getAttribute('href')
    shell.openExternal(href)
  }

  const openChild = this.document.querySelector('#open-child')

  openChild.onclick = function () {
    // 打开子窗口
    // window.open('http://www.baidu.com')
    window.open('./popup_page.html')
  }
}

const rightTemplate = [
  {
    label: '复制',
  },
  {
    label: '粘贴',
  },
]

// 设置右键菜单
const menu = remoteCase.Menu.buildFromTemplate(rightTemplate)
window.addEventListener('contextmenu', (e) => {
  // 监听右键事件，显示右键菜单
  e.preventDefault()
  menu.popup({
    window: remoteCase.getCurrentWindow(),
  })
})

const domContent = document.querySelector('.content')
// 接收子窗口传来的信息
window.addEventListener('message', (msg) => {
  console.log(msg)
  domContent.innerHTML = msg.data
})
